import os
import sys
import gradio as gr

def main():
    """
    LoRAMaster - Gradio版本的主入口
    轻量化设计，作为应用的入口点
    """
    # 确保中文显示正常
    os.environ["PYTHONIOENCODING"] = "utf-8"
    
    # 创建Gradio Blocks作为主界面
    with gr.Blocks(title="LoRAMaster - LoRA训练工具集") as demo:
        gr.Markdown("# LoRAMaster")
        gr.Markdown("### LoRA模型训练工具集")
        
        # 使用Tabs来组织不同的功能页面
        with gr.Tabs():
            # Qwen Image LoRA训练Tab
            with gr.Tab("Qwen Image LoRA训练"):
                try:
                    # 动态导入qwen_image_lora_train_gradio模块
                    import qwen_image_lora_train_gradio
                    # 使用draw_ui函数获取UI组件
                    qwen_image_ui = qwen_image_lora_train_gradio.draw_ui()
                except Exception as e:
                    gr.Markdown(f"加载Qwen Image LoRA训练界面失败: {str(e)}")
                    gr.Code(f"错误详情: {repr(e)}")
            
            # 占位Tab - 其他功能
            with gr.Tab("SD LoRA训练"):
                gr.Markdown("即将推出")
            
            with gr.Tab("SDXL LoRA训练"):
                gr.Markdown("即将推出")
            
            with gr.Tab("关于"):
                gr.Markdown("## LoRAMaster")
                gr.Markdown("### 版本: 1.0.0")
                gr.Markdown("一个用于训练各种LoRA模型的工具集")
    
    # 启动Gradio服务
    demo.launch(
        server_name="0.0.0.0",  # 允许从任何地址访问
        server_port=8080,       # 使用8080端口
        share=False,            # 不创建公开链接
        inbrowser=False         # 不自动打开浏览器
    )

if __name__ == "__main__":
    main()